home *** CD-ROM | disk | FTP | other *** search
/ Technotools / Technotools (Chestnut CD-ROM)(1993).ISO / lang_c / mikecom / dtr.asm < prev    next >
Assembly Source File  |  1987-05-15  |  1KB  |  39 lines

  1.  
  2. title DTR SET/RESET
  3. include subfx.h
  4.  
  5. ;  Mike Dumdei,  6 Holly Lane,  Texarkana TX  75503
  6.  
  7. ;******************************************************************************
  8. ; ASYNC_DTR -- Sets or clears 'data terminal ready' based on passed flag.
  9. ;  Returns R_NOPORT if port invalid else returns R_OK.
  10. ;******************************************************************************
  11. begseg          COMM_TEXT
  12. publicproc      _async_dtr
  13.         push    bp
  14.         mov     bp,sp
  15.         push    si              ;stack frame setup
  16.         call    __ck_port_arg   ;ck if valid, load pointers
  17.         jz      dtr_exit        ;bad arg if ZR flag set
  18.         mov     dx,COM_BASE
  19.         add     dx,4            ;xFC)modem control register
  20.         in      al,dx
  21.         cmp     Flag,OFF
  22.         jne     dtr_on
  23.         and     al,n B_DTR      ;clear DTR bit
  24.         jmp s   snd_MCRbyte
  25. dtr_on:
  26.         or      al,B_DTR        ;set DTR bit
  27. snd_MCRbyte:
  28.         out     dx,al           ;send new mask to UART
  29.         xor     ax,ax           ;returning R_OK
  30. dtr_exit:
  31.         pop     si
  32.         pop     bp
  33.         ret                     ;restore regs and exit
  34. _async_dtr      endp
  35.  
  36. endseg          COMM_TEXT
  37.         end
  38.  
  39.